package com.aaa.ssm.controller;

import com.aaa.ssm.entity.TScenic;
import com.aaa.ssm.service.TScenicService;
import com.aaa.ssm.util.Page;
import com.aaa.ssm.util.Result;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;


@RequestMapping("/tScenic") //设置路径
@RestController //@Controller+@ResponseBody---String框架 将 对象或集合转换为JSON对象(放入响应的body部门)
public class TScenicController extends BaseController {
    @Resource
    private TScenicService tScenicService;

    @PostMapping("queryByAll")// 新建资源映射  设置访问路径 post请求
    //---相当于
    //@RequestMapping(value = "queryByAll",method = RequestMethod.POST)
    //@RequestBody String框架 会帮我们把 前端 传输过来的 JSON字符串（放入请求的body部分） 转换为 对象 或者 集合

    //get请求是没有请求的body 所以本来的查询操作，不能使用@GetMapping---只能使用 PostMapping 或 PutMapping
    /**带参分页查询*/
    public Result queryByAll(@RequestBody Page<TScenic> page) {
        return success(tScenicService.queryByAll(page));
    }

    /**
     * 倒叙分页
     * @param page
     * @return
     */
    @PostMapping("queryAllA")
    public Result queryAllA(@RequestBody Page<TScenic> page) {
        return success(tScenicService.queryAllA(page));
    }


    /**
     * 添加数据
     *
     * @param tScenic
     * @return 是否成功 成功的数据
     */
    @PostMapping("add")// 新建资源映射  设置访问路径 post请求
    //---相当于
    //@RequestMapping(value = "queryByAll",method = RequestMethod.POST)
    public Result add(@RequestBody TScenic tScenic) {
        return success(tScenicService.add(tScenic));
    }

    @PostMapping("queryAll")
    public Result queryAll(){
        return success(tScenicService.queryAll());
    }
    /**
     * 更新数据
     *
     * @param tScenic
     * @return 是否成功 成功的数据
     */
    @PutMapping("update")// 更新资源映射  设置访问路径 put请求
    //---相当于
    //@RequestMapping(value = "queryByAll",method = RequestMethod.POST)
    public Result update(@RequestBody TScenic tScenic) {
        return success(tScenicService.update(tScenic));
    }

    /**
     * 根据参数删除数据
     *
     * @param id
     * @return 是否成功 成功的数据
     */
    @DeleteMapping("delete/{id}")// 更新资源映射  设置访问路径 delete请求
    //---相当于
    //@RequestMapping(value = "queryByAll",method = RequestMethod.POST)

    public Result delete(@PathVariable("id") int id) {
        return success(tScenicService.delete(id));
    }
}
